package org.example.Interview;


import java.util.BitSet;

/**
 * 2020-11-30提交开源代码
 * @Author chaigq
 * @Date 2020/11/30 下午11:04
 * @Version 1.0
 */
public class offerInterview {
    // 2020-11-30 面试题准备

    // TODO ======================================================================
    // 1、父子线程怎么共享数据 interitableThreadLocals
    // 相关地址：https://www.cnblogs.com/Nonnetta/p/10175662.html



    //
    // 对TransmittableThreadLocal 理解：
    // 1、首先TransmittableThreadLocal继承自InheritableThreadLocal，这样可以在不破坏原有InheritableThreadLocal特性的情况下，
    //    还能充分使用Thread线程创建过程中执行init方法，从而达到父子线程传递数据的目的。
    //
    //3、lock和sync区别
    //
    //4、HashMap1.7、1.8区别
    //
    //5、AQS原理（执行过程源码，入队出队的细节，源码细节）
    //
    //6、CountDownLatch和CyclicBarrier的区别是什么源码级别
    //
    //7、volatile从指令重排序，内存屏障，聊到总线风暴
    //
    //8、mysql索引：聚集索引、非聚集索引、索引结构，顺带会问各种树的特性
    //
    //9、举例优化sql
    //
    //10、MVC和事务隔离级别的关系
    //
    //11、间隙锁、行锁、乐观锁悲观锁等
    //
    //12、唯一索引和普通索引的区别
    //
    //13、聊到了changeBuffer、页分裂合页合并
    //
    //14、可达性分析算法中根节点有哪些
    //
    //15、cms和G1区别
    //
    //16、怎样GC调优
    //
    //17、怎样排查CPU彪高、内存彪高
    //
    //18、redis数据结构、跳跃表
    //
    //19、redis qps能上多少，怎么知道的
    //
    //20、sentinel和cluster区别和各自适用场景
    //
    //21、redis cluster集群同步过程
    //
    //22、redis单线程为什么快
    //
    //23、多大叫大key、热key产生原因和后果以及怎么解决
    //
    //24、本地缓存需要高时效性怎么办
    //
    //25、spring的作用；
    //
    //26、spring循环依赖怎么解决（说出三级缓存源码细节）；
    //
    //27、spring aop原理（动态代理）、
    //
    //28、spring bean生命周期（源码细节，以及各个位置的设计思路，有什么可扩展的）
    //
    //29、dubbo服务暴露和引用过程，负载均衡策略，容错机制在哪里实现的源码
    //
    //30、项目中碰到的问题。
    //

    // ========================================================

    // 1、缓存穿透：
    //设计一个防止缓存穿透的解决方案，简单的就是存null值，但肯定会深究，可以结合布隆过滤器，设计分布式系统，里面又会问到流量分发到具体过滤器服务的方式，
    // 比如一致性hash算法，怎么调用？比如dubbo直连、等等细节会边说边问

    //
    //3、有没有做限流，设计一个侵入性最小的限流服务。
    //
    //4、项目中碰到的问题，最好说框架本身问题，能提现个人能力，也避免问题太低级被面试官看low，刚好之前有发现一个dubbo的bug，所以这问题应该回答的还可以

    // ======================================================

    // 2、dubbo服务调用过程
    //
    //3、NIO、BIO区别，NIO解决了什么问题，Netty线程模型（源码拷问）。
    //
    //4、MQ相关

    // =======================================================

    //
    //限流，限流标准（并发数？ qps？并发数和qps关系？说出了5种限流方案和对应算法原理）
    //
    //3、dubbo调用端怎么在jvm中生成对应服务？dubbo服务端和调用端超时时间设置和区别、dubbo长连接。
    //
    //4、mysql行锁最大并发数？（秒杀项目指出）
    //
    //5、设计秒杀系统，我说的异步的方式，会问怎么优化？改为了同步的方式，异步和同步区别？
    //
    //6、碰到哪些技术难点？怎么解决？有没有参考其他大厂？其他大厂方案什么样的？有没有关注阿里这边最新的技术？
    //
    //7、刚刚的秒杀系统，会涉及到多个库表的更新，分布式事务怎么解决，我说的消息最终一致性，异步？有没有更好的方案？同步TCC方式，TCC方式原理？（三个阶段的具体实现）


    // BitMap
}
